我正在开发一个Chrome扩展来调整Facebook。但是,如Facebook等支持HTML5的网站中捕获浏览操作需要覆盖window.history.pushState,如inthisSOquestion所述。.不幸的是,Chrome的隔离世界似乎阻止了这种覆盖。除了轮询document.location.href之外,还有其他捕获历史更改的方法吗? 最佳答案 不确定您是否尝试在background.js或content.js中执行此操作,但如果是前者,您可以使用webNavigation事件执行此操作:您需要在manifes
我知道chrome.webRequest.onBeforeRequest允许拦截、分析和阻止请求,但它只允许访问请求header,而不是请求正文(至于我知道)。示例用例:考虑拦截表单值。似乎有一个API更改提案here正是这个建议。还有其他方法可以实现吗?谢谢。 最佳答案 此功能现已添加到API,请参阅documentation.为了访问正文,您需要执行以下操作:chrome.webRequest.onBeforeRequest.addListener(function(details){console.log(details.re
我将以下TypeScript程序转换为ES5:文件1:classBaseElementextendsHTMLElement{constructor(){super();}}文件2:import{BaseElement}from'./BaseElement';classMyElementextendsBaseElement{constructor(){super();}}varel=newMyElement();将所有内容手动放入文件中,代码运行良好并在浏览器中执行,HTMLElement的构建没有问题。但是,一旦我通过webpack打包它,我就会收到以下错误消息:UncaughtTyp
我在developer.chrome.com阅读了有关背景页面和内容脚本的信息但我对它们很困惑,我无法理解何时使用后台脚本以及何时使用内容脚本。例如:list.json:{"name":"HelloWorld","version":"2.0","manifest_version":2,"background":{"scripts":["background.js"]},"content_scripts":[{"matches":["http://*/*","https://*/*"],"js":["js/myScript.js"]}],"permissions":["tabs","ht
我是Chrome扩展的新手。我试图在内容脚本和background.html页面之间进行通信。background.html向内容脚本发送请求“hello”,内容脚本应以“hellobackground”警报响应.但这并没有发生。我的background.html代码是:functiontestRequest(){chrome.tabs.getSelected(null,function(tab){chrome.tabs.sendRequest(tab.id,{greeting:"hello"});});}content.js代码:chrome.extension.onMessage.
好的,JavaScript/jQuery我明白了,我可以用它来做我想做的事情。然而,我目前正在尝试做的是使用打开/当前选项卡的DOM,我想知道这是否可能,或者我使用扩展名所做的所有工作都仅限于我为它提供“背景”的html。html"或等效文件。对于今天对谷歌扩展程序进行罢工的尝试,我想在页面上拍摄图像并将它们存储在数组中,以通过我想添加到页面底部的栏从中创建类似幻灯片的效果将其附加到打开/当前选项卡的现有DOM。然后我想在DOM中“隐藏”元素,直到栏关闭。所以我的第一个问题是,这样的事情是否可能,我能否以这种方式操作DOM并从中读取。 最佳答案
我正在尝试根据所选内容在Chrome上下文菜单上创建条目。我在Stackoverflow上发现了几个与此相关的问题,所有问题的答案都是:使用带有“鼠标按下”监听器的内容脚本,该监听器查看当前选择并创建上下文菜单。我实现了这个,但它并不总是有效。有时所有的日志消息都说上下文菜单已按我的意愿进行了修改,但出现的上下文菜单并未更新。基于此,我怀疑这是一个竞争条件:有时chrome在代码完全运行之前就开始渲染上下文菜单。我尝试将eventListener添加到“contextmenu”和“mouseup”。后者在用户使用鼠标选择文本时触发,因此它会在上下文菜单出现之前(甚至几秒钟)更改上下文菜
我正在尝试创建新的扩展,但在包含JavaScript时遇到问题:{"name":"","version":"1.0","description":"","default_icon":"icon.png","content_scripts":[{"matches":["http://*.com"],"js":["script.js"]}],"permissions":["http://*.com/"]}我有这个错误:couldnotloadextensionfromInvaildvaluefor'content_scripts[0].matches[0]':Emptypath
当我有对象数组时,当我在Chrome控制台中键入变量名称时,我得到:问题:是否有一些选项或标志在打开时会显示在Chrome控制台中查询时扩展的对象和数组?我经常使用控制台并在控制台中进行内联操作,每次修改数组时我都必须单击所有条目才能查看值。我不想编写一个会console.dir所有数组的循环。 最佳答案 console.table()很好地处理了displayingarraysneatly以表格格式。 关于javascript-如何在Chrome控制台中查看扩展对象/数组?,我们在St
有没有办法从Chrome扩展程序访问cookie?这段代码document.cookie.length总是返回-0。 最佳答案 目前在扩展程序中获取站点cookie的最佳(最简单)方法是将此代码放在后台脚本中:chrome.cookies.get({url:'http://example.com',name:'somename'},function(cookie){if(cookie){console.log(cookie.value);}else{console.log('Can\'tgetcookie!Checkthename!